<html>
<head><meta charset="utf-8"><title>meeting 2018-10-11 · t-lang/wg-unsafe-code-guidelines · Zulip Chat Archive</title></head>
<h2>Stream: <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/index.html">t-lang/wg-unsafe-code-guidelines</a></h2>
<h3>Topic: <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting.202018-10-11.html">meeting 2018-10-11</a></h3>

<hr>

<base href="https://rust-lang.zulipchat.com">

<head><link href="https://rust-lang.github.io/zulip_archive/style.css" rel="stylesheet"></head>

<a name="135620035"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting%202018-10-11/near/135620035" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting.202018-10-11.html#135620035">(Oct 11 2018 at 16:32)</a>:</h4>
<p>So I think it is too late to reasonably have this meeting</p>



<a name="135620052"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting%202018-10-11/near/135620052" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting.202018-10-11.html#135620052">(Oct 11 2018 at 16:32)</a>:</h4>
<p>but I would like to make progress here</p>



<a name="135620059"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting%202018-10-11/near/135620059" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting.202018-10-11.html#135620059">(Oct 11 2018 at 16:32)</a>:</h4>
<p>I was going over the struct+tuple PR this morning and realized that there were some unclear points to me</p>



<a name="135620060"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting%202018-10-11/near/135620060" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alan Jeffrey <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting.202018-10-11.html#135620060">(Oct 11 2018 at 16:32)</a>:</h4>
<p><span class="user-mention" data-user-id="116009">@nikomatsakis</span> well <span class="user-mention" data-user-id="120791">@RalfJ</span> and I already had a meeting about memory invariants :)</p>



<a name="135620062"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting%202018-10-11/near/135620062" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting.202018-10-11.html#135620062">(Oct 11 2018 at 16:33)</a>:</h4>
<p>=)</p>



<a name="135620075"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting%202018-10-11/near/135620075" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting.202018-10-11.html#135620075">(Oct 11 2018 at 16:33)</a>:</h4>
<p>I was trying to make edits, it seemed like there were a few "contenious" points and I was debating how to handle it</p>



<a name="135620081"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting%202018-10-11/near/135620081" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting.202018-10-11.html#135620081">(Oct 11 2018 at 16:33)</a>:</h4>
<p>I think my feeling before has been: no need to settle every question, at least let's describe the unknowns and move on, and circle back later</p>



<a name="135620090"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting%202018-10-11/near/135620090" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting.202018-10-11.html#135620090">(Oct 11 2018 at 16:33)</a>:</h4>
<p>but it's always tempting to try and "fix" a few things</p>



<a name="135620108"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting%202018-10-11/near/135620108" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting.202018-10-11.html#135620108">(Oct 11 2018 at 16:33)</a>:</h4>
<p>(to be clear, I view all of this as making "recommendations" that can become RFCs anyway, and maybe that framing helps)</p>



<a name="135620259"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting%202018-10-11/near/135620259" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting.202018-10-11.html#135620259">(Oct 11 2018 at 16:36)</a>:</h4>
<p>to that end I was debating about writing a section that explicitly said something like "We recommend the following semantics" around these points</p>
<ul>
<li><code>struct Foo { x: T }</code> with one field (and <code>repr(Rust)</code>) has the same memory layout (not necessarily other ABI details) as <code>T</code><br>
    - Question: what about zero-sized types? </li>
<li>structs with homogenous types (just like tuples) have the same representation as <code>[T; N]</code><br>
    - however, I realize now that this raises a weird question about ordering -- we might say that this is true but the order of fields is undefined apart from tuple structs?</li>
<li>struct layout is a deterministic function from the (transitive) types of the fields plus compiler flags<br>
    - but I realized various complications here, I forget where I landed</li>
</ul>



<a name="135620285"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting%202018-10-11/near/135620285" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting.202018-10-11.html#135620285">(Oct 11 2018 at 16:37)</a>:</h4>
<p>but really we don't have to answer those specific questions here necessarily, I'd rather get feedback on the meta question of how we handle this sort of question -- how much should we try to make a decision --</p>



<a name="135620292"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting%202018-10-11/near/135620292" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting.202018-10-11.html#135620292">(Oct 11 2018 at 16:37)</a>:</h4>
<p>that and how we are going to get progress on the other write-ups we talked about :)</p>



<a name="135620400"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting%202018-10-11/near/135620400" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting.202018-10-11.html#135620400">(Oct 11 2018 at 16:39)</a>:</h4>
<p>thoughts? :)</p>



<a name="135620524"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting%202018-10-11/near/135620524" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alan Jeffrey <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting.202018-10-11.html#135620524">(Oct 11 2018 at 16:42)</a>:</h4>
<p>If "struct Foo { x: T } with one field (and repr(Rust)) has the same memory layout (not necessarily other ABI details) as T" then does this make <code>repr(transparent)</code>unncessary?</p>



<a name="135620606"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting%202018-10-11/near/135620606" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting.202018-10-11.html#135620606">(Oct 11 2018 at 16:43)</a>:</h4>
<p>no, because repr(transparent) is specifically about the ABI details</p>



<a name="135620621"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting%202018-10-11/near/135620621" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alan Jeffrey <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting.202018-10-11.html#135620621">(Oct 11 2018 at 16:43)</a>:</h4>
<p>what's an example? alignment?</p>



<a name="135620694"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting%202018-10-11/near/135620694" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting.202018-10-11.html#135620694">(Oct 11 2018 at 16:44)</a>:</h4>
<p>no</p>



<a name="135620696"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting%202018-10-11/near/135620696" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting.202018-10-11.html#135620696">(Oct 11 2018 at 16:44)</a>:</h4>
<p>e.g. do you use a register</p>



<a name="135620698"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting%202018-10-11/near/135620698" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting.202018-10-11.html#135620698">(Oct 11 2018 at 16:45)</a>:</h4>
<p>or pass on the stack</p>



<a name="135620726"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting%202018-10-11/near/135620726" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alan Jeffrey <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting.202018-10-11.html#135620726">(Oct 11 2018 at 16:45)</a>:</h4>
<p>ah, that makes sense.</p>



<a name="135620826"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting%202018-10-11/near/135620826" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Nicole Mazzuca <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting.202018-10-11.html#135620826">(Oct 11 2018 at 16:47)</a>:</h4>
<p>Imo, the rules around tuple structs for a type <code>struct X(Tn...);</code> should be exactly as if you wrote <code>struct X { fn...: Tn... }</code></p>



<a name="135620910"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting%202018-10-11/near/135620910" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Nicole Mazzuca <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting.202018-10-11.html#135620910">(Oct 11 2018 at 16:49)</a>:</h4>
<p>also, we agreed struct layout should be non-deterministic, afaik.</p>



<a name="135620968"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting%202018-10-11/near/135620968" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alan Jeffrey <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting.202018-10-11.html#135620968">(Oct 11 2018 at 16:50)</a>:</h4>
<p>I don't think anyone's objecting to <code>(T,T,T)</code> having the same layout as <code>[T;3]</code>, is the issue whether <code>x.i</code> should have the same semantics as <code>x[i]</code>?</p>



<a name="135620984"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting%202018-10-11/near/135620984" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting.202018-10-11.html#135620984">(Oct 11 2018 at 16:50)</a>:</h4>
<p>I feel like the order of named fields should not be significant</p>



<a name="135621014"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting%202018-10-11/near/135621014" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting.202018-10-11.html#135621014">(Oct 11 2018 at 16:51)</a>:</h4>
<p>for all the details that came up on the thread</p>



<a name="135621020"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting%202018-10-11/near/135621020" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting.202018-10-11.html#135621020">(Oct 11 2018 at 16:51)</a>:</h4>
<p>the order of anonymous fields is <em>already</em> significant from a semver POV</p>



<a name="135621023"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting%202018-10-11/near/135621023" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting.202018-10-11.html#135621023">(Oct 11 2018 at 16:51)</a>:</h4>
<p>i.e., if you expose public anonymous fields</p>



<a name="135621032"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting%202018-10-11/near/135621032" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting.202018-10-11.html#135621032">(Oct 11 2018 at 16:51)</a>:</h4>
<p>your clients are already relying on the order</p>



<a name="135621044"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting%202018-10-11/near/135621044" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting.202018-10-11.html#135621044">(Oct 11 2018 at 16:52)</a>:</h4>
<blockquote>
<p>for all the details that came up on the thread</p>
</blockquote>
<p>for all the <em>reasons</em> I meant</p>



<a name="135621100"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting%202018-10-11/near/135621100" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting.202018-10-11.html#135621100">(Oct 11 2018 at 16:52)</a>:</h4>
<p>so that was my concern: if we just say that "all structs of homogenous type are laid out as an array" the question naturally becomes "which index is which field"</p>



<a name="135621106"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting%202018-10-11/near/135621106" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alan Jeffrey <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting.202018-10-11.html#135621106">(Oct 11 2018 at 16:52)</a>:</h4>
<p><span class="user-mention" data-user-id="116009">@nikomatsakis</span> this is in conflict with the goals of a) having tuples and structs agree on layout, b) having tuples and arrays agree on layout, and c) having array indexing and field access agree. :(</p>



<a name="135621111"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting%202018-10-11/near/135621111" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting.202018-10-11.html#135621111">(Oct 11 2018 at 16:52)</a>:</h4>
<p>maybe we should just ditch the whole thing</p>



<a name="135621112"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting%202018-10-11/near/135621112" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nagisa <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting.202018-10-11.html#135621112">(Oct 11 2018 at 16:52)</a>:</h4>
<p><span class="user-mention" data-user-id="128323">@Alan Jeffrey</span> read <a href="#narrow/stream/131828-t-compiler/topic/rust.20calling.20convention.20and.20LLVM" title="#narrow/stream/131828-t-compiler/topic/rust.20calling.20convention.20and.20LLVM">this</a> for more details (not of direct relevance, but still pretty relevant)</p>



<a name="135621126"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting%202018-10-11/near/135621126" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting.202018-10-11.html#135621126">(Oct 11 2018 at 16:53)</a>:</h4>
<p>and you should use the type <code>[T; N]</code> instead :)</p>



<a name="135621141"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting%202018-10-11/near/135621141" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting.202018-10-11.html#135621141">(Oct 11 2018 at 16:53)</a>:</h4>
<p>I agree <span class="user-mention" data-user-id="128323">@Alan Jeffrey</span> there is some conflict — this is what I was attempting to resolve by saying "the mapping from named fields to indices is undefined"</p>



<a name="135621145"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting%202018-10-11/near/135621145" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting.202018-10-11.html#135621145">(Oct 11 2018 at 16:53)</a>:</h4>
<p>i.e., it does have the layout of <code>[T; N]</code>, but you can't reliably tell which field is where</p>



<a name="135621154"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting%202018-10-11/near/135621154" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting.202018-10-11.html#135621154">(Oct 11 2018 at 16:53)</a>:</h4>
<p>so then the only difference between tuple structs and named structs is that exact case</p>



<a name="135621176"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting%202018-10-11/near/135621176" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting.202018-10-11.html#135621176">(Oct 11 2018 at 16:54)</a>:</h4>
<p>(that is, in one case there is a mapping)</p>



<a name="135621204"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting%202018-10-11/near/135621204" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting.202018-10-11.html#135621204">(Oct 11 2018 at 16:54)</a>:</h4>
<p>and that difference is sort of pre-existing and banked into the pattern matching syntax anyway</p>



<a name="135621212"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting%202018-10-11/near/135621212" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting.202018-10-11.html#135621212">(Oct 11 2018 at 16:54)</a>:</h4>
<p>anyway I don't know how much I care about this. I think it falls under that "useful" guarantee</p>



<a name="135621222"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting%202018-10-11/near/135621222" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting.202018-10-11.html#135621222">(Oct 11 2018 at 16:54)</a>:</h4>
<p>perhaps I will move all the "useful guarantees" to some sort of "recommendation" section of "stuff we are 90% sure is a good idea"</p>



<a name="135621242"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting%202018-10-11/near/135621242" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alan Jeffrey <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting.202018-10-11.html#135621242">(Oct 11 2018 at 16:55)</a>:</h4>
<p><span class="user-mention" data-user-id="123586">@nagisa</span> ta, that looks like a related but probably orthogonal issue?</p>



<a name="135621264"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting%202018-10-11/near/135621264" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nagisa <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting.202018-10-11.html#135621264">(Oct 11 2018 at 16:56)</a>:</h4>
<blockquote>
<p><span class="user-mention" data-user-id="123586">@nagisa</span> ta, that looks like a related but probably orthogonal issue?</p>
</blockquote>
<p>It is related in a sense that similar differences apply as for with <code>#[repr(transparent)]</code> structs and <code>#[repr(Rust)]</code> ones.</p>



<a name="135621298"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting%202018-10-11/near/135621298" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting.202018-10-11.html#135621298">(Oct 11 2018 at 16:56)</a>:</h4>
<p>in any case I definitely think this should not be specific to tuples</p>



<a name="135621314"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting%202018-10-11/near/135621314" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nagisa <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting.202018-10-11.html#135621314">(Oct 11 2018 at 16:56)</a>:</h4>
<p>Its just the context in which this occurs that’s different.</p>



<a name="135621363"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting%202018-10-11/near/135621363" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nagisa <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting.202018-10-11.html#135621363">(Oct 11 2018 at 16:57)</a>:</h4>
<p>Tuples cannot guarantee in-memory order of its elements anyway, because of the layout optimisation</p>



<a name="135621372"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting%202018-10-11/near/135621372" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nagisa <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting.202018-10-11.html#135621372">(Oct 11 2018 at 16:58)</a>:</h4>
<p>I see no reason to make a special case for <code>(T, T, ..., T)</code></p>



<a name="135621419"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting%202018-10-11/near/135621419" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alan Jeffrey <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting.202018-10-11.html#135621419">(Oct 11 2018 at 16:58)</a>:</h4>
<p><span class="user-mention" data-user-id="116009">@nikomatsakis</span> so is the proposal to drop (c)? or to change the representation of structs such that order does matter in certain cases?</p>



<a name="135621459"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting%202018-10-11/near/135621459" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alan Jeffrey <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting.202018-10-11.html#135621459">(Oct 11 2018 at 16:59)</a>:</h4>
<p>(where (c) is "having array indexing and field access agree")</p>



<a name="135621474"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting%202018-10-11/near/135621474" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alan Jeffrey <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting.202018-10-11.html#135621474">(Oct 11 2018 at 16:59)</a>:</h4>
<p>(since that itemized list has scrolled off the page already)</p>



<a name="135621520"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting%202018-10-11/near/135621520" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting.202018-10-11.html#135621520">(Oct 11 2018 at 17:00)</a>:</h4>
<p>I am confused what proposal you are talking about :)</p>



<a name="135621535"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting%202018-10-11/near/135621535" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting.202018-10-11.html#135621535">(Oct 11 2018 at 17:00)</a>:</h4>
<p>I guess you mean the thing I sketched above?</p>



<a name="135621542"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting%202018-10-11/near/135621542" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alan Jeffrey <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting.202018-10-11.html#135621542">(Oct 11 2018 at 17:00)</a>:</h4>
<p><span class="user-mention" data-user-id="116009">@nikomatsakis</span> yes</p>



<a name="135621543"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting%202018-10-11/near/135621543" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting.202018-10-11.html#135621543">(Oct 11 2018 at 17:00)</a>:</h4>
<p>I would prefer to focus on a meta question: my proposal for the RFC</p>



<a name="135621548"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting%202018-10-11/near/135621548" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting.202018-10-11.html#135621548">(Oct 11 2018 at 17:00)</a>:</h4>
<p>I think I settled on this courses of action:</p>



<a name="135621552"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting%202018-10-11/near/135621552" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting.202018-10-11.html#135621552">(Oct 11 2018 at 17:00)</a>:</h4>
<p>I will enumerate the things I think might be contentious in the RFC</p>



<a name="135621555"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting%202018-10-11/near/135621555" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting.202018-10-11.html#135621555">(Oct 11 2018 at 17:00)</a>:</h4>
<p>(which include this point)</p>



<a name="135621556"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting%202018-10-11/near/135621556" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting.202018-10-11.html#135621556">(Oct 11 2018 at 17:00)</a>:</h4>
<blockquote>
<p>so that was my concern: if we just say that "all structs of homogenous type are laid out as an array" the question naturally becomes "which index is which field"</p>
</blockquote>
<p>and the answer naturally is "the order as written"? so yes, in this special case the order <em>does</em> matter</p>



<a name="135621558"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting%202018-10-11/near/135621558" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting.202018-10-11.html#135621558">(Oct 11 2018 at 17:00)</a>:</h4>
<p>I will open issues to discuss them</p>



<a name="135621571"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting%202018-10-11/near/135621571" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting.202018-10-11.html#135621571">(Oct 11 2018 at 17:01)</a>:</h4>
<p>we will close the main struct + tuples issue</p>



<a name="135621576"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting%202018-10-11/near/135621576" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting.202018-10-11.html#135621576">(Oct 11 2018 at 17:01)</a>:</h4>
<p>and we can merge the write-up as is (with "open questions" linking to the issues in question)</p>



<a name="135621582"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting%202018-10-11/near/135621582" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting.202018-10-11.html#135621582">(Oct 11 2018 at 17:01)</a>:</h4>
<p>then we can (once we seem to have some agreement) close down those issues with an open PR</p>



<a name="135621583"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting%202018-10-11/near/135621583" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting.202018-10-11.html#135621583">(Oct 11 2018 at 17:01)</a>:</h4>
<p>seem reasonable?</p>



<a name="135621588"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting%202018-10-11/near/135621588" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alan Jeffrey <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting.202018-10-11.html#135621588">(Oct 11 2018 at 17:01)</a>:</h4>
<p><span class="user-mention" data-user-id="116009">@nikomatsakis</span> sounds sensible</p>



<a name="135621591"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting%202018-10-11/near/135621591" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting.202018-10-11.html#135621591">(Oct 11 2018 at 17:01)</a>:</h4>
<p>the idea being that we should be refining the set of open issues to narrow questions</p>



<a name="135621655"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting%202018-10-11/near/135621655" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting.202018-10-11.html#135621655">(Oct 11 2018 at 17:02)</a>:</h4>
<p>(to circle back to your point, <span class="user-mention" data-user-id="128323">@Alan Jeffrey</span>, I would say that "field access and array indexing agree" is not a clear notion when you have something like <code>foo.bar</code> -- to what index does <code>bar</code> map? It seems much clearer for <code>foo.1</code> =)</p>



<a name="135621670"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting%202018-10-11/near/135621670" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting.202018-10-11.html#135621670">(Oct 11 2018 at 17:02)</a>:</h4>
<p>and hence I don't feel I am <em>abandoning</em> <code>c</code> by saying that the indices assigned to "named fields" are compiler determined</p>



<a name="135621678"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting%202018-10-11/near/135621678" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting.202018-10-11.html#135621678">(Oct 11 2018 at 17:03)</a>:</h4>
<p>it's sort of like saying "what is 1/0" and answering undefined :P</p>



<a name="135621757"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting%202018-10-11/near/135621757" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting.202018-10-11.html#135621757">(Oct 11 2018 at 17:04)</a>:</h4>
<p>OK, so, I will make those edits to the struct PR</p>



<a name="135621765"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting%202018-10-11/near/135621765" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting.202018-10-11.html#135621765">(Oct 11 2018 at 17:04)</a>:</h4>
<p>question then becomes: what is the process for merging :)</p>



<a name="135621778"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting%202018-10-11/near/135621778" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting.202018-10-11.html#135621778">(Oct 11 2018 at 17:05)</a>:</h4>
<p>I propose we add a "final comment period" label and post an annoucement somewhere</p>



<a name="135621779"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting%202018-10-11/near/135621779" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting.202018-10-11.html#135621779">(Oct 11 2018 at 17:05)</a>:</h4>
<p>then next meeting we can merge?</p>



<a name="135621793"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting%202018-10-11/near/135621793" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting.202018-10-11.html#135621793">(Oct 11 2018 at 17:05)</a>:</h4>
<p>(I don't really want to go the whole rfcbot way because I didn't want to have to enumerate who the people are that have to check their names)</p>



<a name="135621797"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting%202018-10-11/near/135621797" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting.202018-10-11.html#135621797">(Oct 11 2018 at 17:05)</a>:</h4>
<p>(but we could do that, I've just been hoping to keep this process more "open" feeling)</p>



<a name="135621933"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting%202018-10-11/near/135621933" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting.202018-10-11.html#135621933">(Oct 11 2018 at 17:08)</a>:</h4>
<p>makes sense to me</p>



<a name="135621961"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting%202018-10-11/near/135621961" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting.202018-10-11.html#135621961">(Oct 11 2018 at 17:09)</a>:</h4>
<p>OK</p>



<a name="135621962"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting%202018-10-11/near/135621962" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting.202018-10-11.html#135621962">(Oct 11 2018 at 17:09)</a>:</h4>
<p>so</p>



<a name="135621966"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting%202018-10-11/near/135621966" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting.202018-10-11.html#135621966">(Oct 11 2018 at 17:09)</a>:</h4>
<p>what about the other topics :)</p>



<a name="135621975"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting%202018-10-11/near/135621975" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting.202018-10-11.html#135621975">(Oct 11 2018 at 17:09)</a>:</h4>
<p>/me goes to look for the meeting minutes from last time</p>



<a name="135621983"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting%202018-10-11/near/135621983" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting.202018-10-11.html#135621983">(Oct 11 2018 at 17:09)</a>:</h4>
<p><a href="https://github.com/rust-rfcs/unsafe-code-guidelines/blob/master/meeting-notes/20180913.md" target="_blank" title="https://github.com/rust-rfcs/unsafe-code-guidelines/blob/master/meeting-notes/20180913.md">link to minutes in repo</a></p>



<a name="135622033"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting%202018-10-11/near/135622033" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting.202018-10-11.html#135622033">(Oct 11 2018 at 17:10)</a>:</h4>
<ul>
<li>structs and tuples: niko</li>
<li>references and pointers: avadacatavra</li>
<li>function pointers: nicole mazzuca</li>
<li>packed/align: &lt;this could be you!&gt;</li>
</ul>



<a name="135622039"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting%202018-10-11/near/135622039" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting.202018-10-11.html#135622039">(Oct 11 2018 at 17:10)</a>:</h4>
<p>I think packed/align I kind of described in my PR</p>



<a name="135622049"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting%202018-10-11/near/135622049" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting.202018-10-11.html#135622049">(Oct 11 2018 at 17:10)</a>:</h4>
<p>the minutes also say</p>



<a name="135622051"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting%202018-10-11/near/135622051" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting.202018-10-11.html#135622051">(Oct 11 2018 at 17:10)</a>:</h4>
<p>We’re still looking for a consensus/further discussion on:</p>
<ul>
<li><a href="https://github.com/rust-rfcs/unsafe-code-guidelines/issues/10" target="_blank" title="https://github.com/rust-rfcs/unsafe-code-guidelines/issues/10">enums</a></li>
<li><a href="https://github.com/rust-rfcs/unsafe-code-guidelines/issues/13" target="_blank" title="https://github.com/rust-rfcs/unsafe-code-guidelines/issues/13">unions</a></li>
<li><a href="https://github.com/rust-rfcs/unsafe-code-guidelines/issues/9" target="_blank" title="https://github.com/rust-rfcs/unsafe-code-guidelines/issues/9">integers/floating points</a></li>
</ul>



<a name="135622061"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting%202018-10-11/near/135622061" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting.202018-10-11.html#135622061">(Oct 11 2018 at 17:10)</a>:</h4>
<p>not sure if that is still true</p>



<a name="135622063"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting%202018-10-11/near/135622063" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting.202018-10-11.html#135622063">(Oct 11 2018 at 17:10)</a>:</h4>
<p>I have some unread notifications</p>



<a name="135622071"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting%202018-10-11/near/135622071" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting.202018-10-11.html#135622071">(Oct 11 2018 at 17:11)</a>:</h4>
<p>but I would imagine we can at least do the "write up consensus and then open subissue" thing</p>



<a name="135622088"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting%202018-10-11/near/135622088" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alan Jeffrey <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting.202018-10-11.html#135622088">(Oct 11 2018 at 17:11)</a>:</h4>
<p><span class="user-mention" data-user-id="116009">@nikomatsakis</span> this is for memory layouts, not semantic invariants, yes?</p>



<a name="135622107"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting%202018-10-11/near/135622107" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting.202018-10-11.html#135622107">(Oct 11 2018 at 17:12)</a>:</h4>
<p>confirm</p>



<a name="135622148"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting%202018-10-11/near/135622148" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting.202018-10-11.html#135622148">(Oct 11 2018 at 17:12)</a>:</h4>
<p>I am amused that integers turned out to be one of the more controversial issues</p>



<a name="135622164"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting%202018-10-11/near/135622164" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alan Jeffrey <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting.202018-10-11.html#135622164">(Oct 11 2018 at 17:12)</a>:</h4>
<p>We are experts at punting issues :)</p>



<a name="135622165"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting%202018-10-11/near/135622165" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting.202018-10-11.html#135622165">(Oct 11 2018 at 17:12)</a>:</h4>
<p>but this is what C has done to us ;)</p>



<a name="135622176"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting%202018-10-11/near/135622176" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting.202018-10-11.html#135622176">(Oct 11 2018 at 17:12)</a>:</h4>
<p>"how dare you think you can say how a u32 is represented"</p>



<a name="135622183"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting%202018-10-11/near/135622183" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alan Jeffrey <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting.202018-10-11.html#135622183">(Oct 11 2018 at 17:12)</a>:</h4>
<p><span class="user-mention" data-user-id="116009">@nikomatsakis</span> this will return, at the point that we're discussing invariants.</p>



<a name="135622209"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting%202018-10-11/near/135622209" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alan Jeffrey <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting.202018-10-11.html#135622209">(Oct 11 2018 at 17:13)</a>:</h4>
<p>Do scalar types carry any shadow state? Er um, don't know.</p>



<a name="135622289"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting%202018-10-11/near/135622289" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting.202018-10-11.html#135622289">(Oct 11 2018 at 17:14)</a>:</h4>
<p>/me hides their head in the sand</p>



<a name="135622307"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting%202018-10-11/near/135622307" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting.202018-10-11.html#135622307">(Oct 11 2018 at 17:14)</a>:</h4>
<p>well, so <span class="user-mention" data-user-id="125253">@Nicole Mazzuca</span>, still think you have time to write up fn types?</p>



<a name="135622322"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting%202018-10-11/near/135622322" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting.202018-10-11.html#135622322">(Oct 11 2018 at 17:15)</a>:</h4>
<p>else I can do it</p>



<a name="135622327"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting%202018-10-11/near/135622327" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alan Jeffrey <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting.202018-10-11.html#135622327">(Oct 11 2018 at 17:15)</a>:</h4>
<p>BTW, I realized talking to <span class="user-mention" data-user-id="120791">@RalfJ</span> that although we appear to be comfortable with the phrase "shadow state", I'm not sure what to call the "real state", that is the bit of the semantics that's really kept in memory at run-time.</p>



<a name="135622334"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting%202018-10-11/near/135622334" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting.202018-10-11.html#135622334">(Oct 11 2018 at 17:15)</a>:</h4>
<p>lol</p>



<a name="135622338"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting%202018-10-11/near/135622338" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting.202018-10-11.html#135622338">(Oct 11 2018 at 17:15)</a>:</h4>
<p>what is the opposite of a "shadow"</p>



<a name="135622350"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting%202018-10-11/near/135622350" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting.202018-10-11.html#135622350">(Oct 11 2018 at 17:15)</a>:</h4>
<p>(reified state?)</p>



<a name="135622352"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting%202018-10-11/near/135622352" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alan Jeffrey <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting.202018-10-11.html#135622352">(Oct 11 2018 at 17:15)</a>:</h4>
<p>"sunshine state" :)</p>



<a name="135622395"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting%202018-10-11/near/135622395" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting.202018-10-11.html#135622395">(Oct 11 2018 at 17:16)</a>:</h4>
<p>we'll just call it the FL</p>



<a name="135622397"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting%202018-10-11/near/135622397" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting.202018-10-11.html#135622397">(Oct 11 2018 at 17:16)</a>:</h4>
<p>or the FL state</p>



<a name="135622400"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting%202018-10-11/near/135622400" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alan Jeffrey <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting.202018-10-11.html#135622400">(Oct 11 2018 at 17:16)</a>:</h4>
<p>:)</p>



<a name="135622404"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting%202018-10-11/near/135622404" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting.202018-10-11.html#135622404">(Oct 11 2018 at 17:16)</a>:</h4>
<p>/me wonders if Florida is the Sunshine State. Or is that CA?</p>



<a name="135622410"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting%202018-10-11/near/135622410" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alan Jeffrey <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting.202018-10-11.html#135622410">(Oct 11 2018 at 17:16)</a>:</h4>
<p>FL IIRC</p>



<a name="135622412"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting%202018-10-11/near/135622412" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting.202018-10-11.html#135622412">(Oct 11 2018 at 17:16)</a>:</h4>
<p>no way I am naming our state after california</p>



<a name="135622420"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting%202018-10-11/near/135622420" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting.202018-10-11.html#135622420">(Oct 11 2018 at 17:17)</a>:</h4>
<p>/me has no real idea why they are trashing CA right now, either</p>



<a name="135622440"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting%202018-10-11/near/135622440" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting.202018-10-11.html#135622440">(Oct 11 2018 at 17:17)</a>:</h4>
<p>mostly jealousy for all the people who hang out in the SF and MV offices and have friends and stuff</p>



<a name="135622442"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting%202018-10-11/near/135622442" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting.202018-10-11.html#135622442">(Oct 11 2018 at 17:17)</a>:</h4>
<p>ok, anyway, back on topic</p>



<a name="135622443"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting%202018-10-11/near/135622443" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alan Jeffrey <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting.202018-10-11.html#135622443">(Oct 11 2018 at 17:17)</a>:</h4>
<p>anyway, this is bikeshedding.</p>



<a name="135622492"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting%202018-10-11/near/135622492" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting.202018-10-11.html#135622492">(Oct 11 2018 at 17:18)</a>:</h4>
<p>I like the word reify, for the record. It always makes me feel very educated.</p>



<a name="135622504"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting%202018-10-11/near/135622504" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting.202018-10-11.html#135622504">(Oct 11 2018 at 17:18)</a>:</h4>
<p>so who will tackle unions</p>



<a name="135622510"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting%202018-10-11/near/135622510" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting.202018-10-11.html#135622510">(Oct 11 2018 at 17:18)</a>:</h4>
<p>I nominate <span class="user-mention" data-user-id="120791">@RalfJ</span> :)</p>



<a name="135622515"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting%202018-10-11/near/135622515" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alan Jeffrey <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting.202018-10-11.html#135622515">(Oct 11 2018 at 17:18)</a>:</h4>
<p>It has an air of 1990s object-orientation about  it though :/</p>



<a name="135622525"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting%202018-10-11/near/135622525" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting.202018-10-11.html#135622525">(Oct 11 2018 at 17:18)</a>:</h4>
<p>anyway, maybe the thing to do is to post some links in internals and see if we can get someone excited to do it</p>



<a name="135622527"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting%202018-10-11/near/135622527" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting.202018-10-11.html#135622527">(Oct 11 2018 at 17:18)</a>:</h4>
<p>I'd like to grow the group here</p>



<a name="135622529"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting%202018-10-11/near/135622529" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting.202018-10-11.html#135622529">(Oct 11 2018 at 17:18)</a>:</h4>
<p>and we're not all here chatting and making stupid jokes (that's just me, really)</p>



<a name="135622547"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting%202018-10-11/near/135622547" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alan Jeffrey <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting.202018-10-11.html#135622547">(Oct 11 2018 at 17:19)</a>:</h4>
<p>me too!</p>



<a name="135622558"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting%202018-10-11/near/135622558" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting.202018-10-11.html#135622558">(Oct 11 2018 at 17:19)</a>:</h4>
<p>your jokes are funnier</p>



<a name="135622623"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting%202018-10-11/near/135622623" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alan Jeffrey <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting.202018-10-11.html#135622623">(Oct 11 2018 at 17:20)</a>:</h4>
<p>Thank you.</p>



<a name="135622654"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting%202018-10-11/near/135622654" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alan Jeffrey <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting.202018-10-11.html#135622654">(Oct 11 2018 at 17:20)</a>:</h4>
<p>I think trying to recruit from internal is A Good Idea.</p>



<a name="135622701"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting%202018-10-11/near/135622701" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alan Jeffrey <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting.202018-10-11.html#135622701">(Oct 11 2018 at 17:21)</a>:</h4>
<p>We can't just volunteer <span class="user-mention" data-user-id="120791">@RalfJ</span> for everything while his back is turned.</p>



<a name="135622764"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting%202018-10-11/near/135622764" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting.202018-10-11.html#135622764">(Oct 11 2018 at 17:22)</a>:</h4>
<p>oh I thought they were around</p>



<a name="135622768"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting%202018-10-11/near/135622768" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting.202018-10-11.html#135622768">(Oct 11 2018 at 17:22)</a>:</h4>
<p>but I suppose you're right:)</p>



<a name="135622794"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting%202018-10-11/near/135622794" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting.202018-10-11.html#135622794">(Oct 11 2018 at 17:23)</a>:</h4>
<p>so there was this comment on the PR:</p>
<blockquote>
<p>Maybe it might be worth spelling out which properties of repr(C) are platform dependent (implementation defined) and cannot be relied on by portable code.</p>
</blockquote>



<a name="135622809"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting%202018-10-11/near/135622809" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting.202018-10-11.html#135622809">(Oct 11 2018 at 17:23)</a>:</h4>
<p>they went on to say:</p>
<hr>
<p>I meant properties like this:</p>
<div class="codehilite"><pre><span></span>Assuming the struct is not packed, each field&#39;s offset is aligned[^aligned] to
the ABI-mandated alignment for that field&#39;s type, possibly creating
unused padding bits.
</pre></div>


<p>For example, I can hardcode the address offset of the first field w.r.t. to a value of the struct type to 0, and that will work on all platforms. But doing the same for any other field, even if it is correct for the platform being targeted, is not portable in general.</p>



<a name="135622812"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting%202018-10-11/near/135622812" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting.202018-10-11.html#135622812">(Oct 11 2018 at 17:23)</a>:</h4>
<p>I kind of have no idea what they are talking about</p>



<a name="135622818"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting%202018-10-11/near/135622818" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting.202018-10-11.html#135622818">(Oct 11 2018 at 17:23)</a>:</h4>
<p>I guess <code>#[repr(C)]</code> in principle leaves more freedom than that?</p>



<a name="135622822"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting%202018-10-11/near/135622822" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting.202018-10-11.html#135622822">(Oct 11 2018 at 17:23)</a>:</h4>
<p>this comes back to a meta point</p>



<a name="135622879"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting%202018-10-11/near/135622879" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting.202018-10-11.html#135622879">(Oct 11 2018 at 17:24)</a>:</h4>
<p>where I would <strong>really</strong> like it if we can separate "theoretical portability concerns that apply to a few esoteric platforms" from  things "everybody relies on all the time" (though it's good to highlight them both I think)</p>



<a name="135622912"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting%202018-10-11/near/135622912" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting.202018-10-11.html#135622912">(Oct 11 2018 at 17:25)</a>:</h4>
<p>I will adjust the language to</p>
<blockquote>
<p>For structs tagged <code>#[repr(C)]</code>, the compiler will apply a C-like<br>
layout scheme. See section 6.7.2.1 of the [C17 specification][C17] for<br>
a detailed write-up of what such rules entail. For most platforms,<br>
however, this means the following:</p>
</blockquote>
<p>[C17]: <a href="http://www.open-std.org/jtc1/sc22/wg14/www/abq/c17_updated_proposed_fdis.pdf" target="_blank" title="http://www.open-std.org/jtc1/sc22/wg14/www/abq/c17_updated_proposed_fdis.pdf">http://www.open-std.org/jtc1/sc22/wg14/www/abq/c17_updated_proposed_fdis.pdf</a></p>



<a name="135622918"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting%202018-10-11/near/135622918" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting.202018-10-11.html#135622918">(Oct 11 2018 at 17:25)</a>:</h4>
<p>which I think is accurate</p>



<a name="135623416"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting%202018-10-11/near/135623416" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting.202018-10-11.html#135623416">(Oct 11 2018 at 17:34)</a>:</h4>
<p>ha, actually, writing that up made me realize: clearly we should guarantee that <code>struct Foo;</code> is zero-sized, right..?</p>



<a name="135623499"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting%202018-10-11/near/135623499" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alan Jeffrey <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting.202018-10-11.html#135623499">(Oct 11 2018 at 17:36)</a>:</h4>
<p>Presumably. Ditto <code>enum Foo;</code>?</p>



<a name="135623914"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting%202018-10-11/near/135623914" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting.202018-10-11.html#135623914">(Oct 11 2018 at 17:44)</a>:</h4>
<p>presumably</p>



<a name="135623920"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting%202018-10-11/near/135623920" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting.202018-10-11.html#135623920">(Oct 11 2018 at 17:44)</a>:</h4>
<p>ok, I've done that work, and I'm going to post now on internals and try to draw some attention</p>



<a name="135623921"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting%202018-10-11/near/135623921" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting.202018-10-11.html#135623921">(Oct 11 2018 at 17:44)</a>:</h4>
<p>also write up some minutes</p>



<a name="135624101"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting%202018-10-11/near/135624101" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Nicole Mazzuca <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting.202018-10-11.html#135624101">(Oct 11 2018 at 17:47)</a>:</h4>
<p><span class="user-mention" data-user-id="116009">@nikomatsakis</span> yeah, I'll do it this weekend</p>



<a name="135624824"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting%202018-10-11/near/135624824" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting.202018-10-11.html#135624824">(Oct 11 2018 at 17:59)</a>:</h4>
<p>oh, great! :)</p>



<a name="135624832"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting%202018-10-11/near/135624832" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting.202018-10-11.html#135624832">(Oct 11 2018 at 17:59)</a>:</h4>
<p>I'll put that back to writeup-assigned then</p>



<a name="135632731"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting%202018-10-11/near/135632731" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting.202018-10-11.html#135632731">(Oct 11 2018 at 20:11)</a>:</h4>
<p>unions? what do I know about unions?^^</p>



<a name="135632758"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting%202018-10-11/near/135632758" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting.202018-10-11.html#135632758">(Oct 11 2018 at 20:11)</a>:</h4>
<p>I guess I can try writing something, so as I said I generally dont care much about these layout questions. In my work I assume they are answered and go from there, which leaves enough stuff open^^ my knowledge of arcane platforms and the C rules for this is pretty limited.</p>



<a name="135634011"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting%202018-10-11/near/135634011" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting.202018-10-11.html#135634011">(Oct 11 2018 at 20:30)</a>:</h4>
<p>no worries ;) I was poking a stick at random</p>



<a name="135634018"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting%202018-10-11/near/135634018" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting.202018-10-11.html#135634018">(Oct 11 2018 at 20:30)</a>:</h4>
<p>you keep your eye on stacked borrows!</p>



<a name="135635148"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting%202018-10-11/near/135635148" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting.202018-10-11.html#135635148">(Oct 11 2018 at 20:47)</a>:</h4>
<p>whatever you prefer. feel free to assign someone else in that issue. I can do it, but of course that means I have less time for miri ;)</p>



<hr><p>Last updated: Aug 07 2021 at 22:04 UTC</p>
</html>